From 87de0ad2c8062da242fb51a23e70375c1d9624be Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Fri, 3 Sep 2010 18:41:37 +0100 Subject: [PATCH] libxc: logger: add newline when progress is complete In xc_domain_save ensure that we signal completion at the end of each batch. This ensures that the next logged line starts on a new line. e.g. instead of: Savefile contains xl domain config xc: Saving memory: iter 3 (last sent 0 skipped 0): 0/32768 0%migration target: Transfer complete, requesting permission to start domain. migration sender: Target has acknowledged transfer. what is desired is: Savefile contains xl domain config xc: Saving memory: iter 0 (last sent 0 skipped 0): 32768/32768 100% xc: Saving memory: iter 1 (last sent 32576 skipped 192): 32768/32768 100% xc: Saving memory: iter 2 (last sent 217 skipped 0): 32768/32768 100% xc: Saving memory: iter 3 (last sent 0 skipped 0): 32768/32768 100% migration target: Transfer complete, requesting permission to start domain. migration sender: Target has acknowledged transfer. Signed-off-by: Ian Campbell Signed-off-by: Ian Jackson --- tools/libxc/xc_domain_save.c | 2 ++ tools/libxc/xtl_logger_stdio.c | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/libxc/xc_domain_save.c b/tools/libxc/xc_domain_save.c index b9273bb3ae..ef33fa1134 100644 --- a/tools/libxc/xc_domain_save.c +++ b/tools/libxc/xc_domain_save.c @@ -1461,6 +1461,8 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter skip: + xc_report_progress_step(xch, dinfo->p2m_size, dinfo->p2m_size); + total_sent += sent_this_iter; if ( last_iter ) diff --git a/tools/libxc/xtl_logger_stdio.c b/tools/libxc/xtl_logger_stdio.c index de0935ac47..3edf0a2fd7 100644 --- a/tools/libxc/xtl_logger_stdio.c +++ b/tools/libxc/xtl_logger_stdio.c @@ -108,9 +108,12 @@ static void stdiostream_progress(struct xentoollog_logger *logger_in, if (lg->progress_erase_len) putc('\r', lg->f); - newpel = fprintf(lg->f, "%s%s" "%s: %lu/%lu %3d%%", + lg->progress_last_percent = percent; + + newpel = fprintf(lg->f, "%s%s" "%s: %lu/%lu %3d%%%s", context?context:"", context?": ":"", - doing_what, done, total, percent); + doing_what, done, total, percent, + done == total ? "\n" : ""); extra_erase = lg->progress_erase_len - newpel; if (extra_erase > 0) -- 2.30.2